package com.gome.boot.common.util;

import java.util.Map;

/**
 * GFS接口结果操作工具类.
 *
 * @author baoxiufeng
 */
public final class GfsUtils {
    /**
     * HTTP(S)协议前缀
     */
    private static final String[] PROTOCOLS = { "http://", "https://" };
    private static final int GFS_RESULT_SIZE = 2;

    /**
     * 根据GFS接口返回结果获取实际的GFS存储文件远程访问路径.
     *
     * @param result GFS接口返回结果
     * @return GFS存储文件远程访问路径
     */
    public static String getUrlFromGfsResult(String[] result) {
        if (result == null || result.length != GFS_RESULT_SIZE) {
            return null;
        }
        Map map = JacksonUtils.convertJsonToObject(result[0], Map.class);
        String imageUrl = (String) map.get("url");
        if (!imageUrl.endsWith(result[1])) {
            imageUrl += result[1];
        }
        if (imageUrl.startsWith(PROTOCOLS[0])) {
            imageUrl = imageUrl.substring(5);
        } else if (imageUrl.startsWith(PROTOCOLS[1])) {
            imageUrl = imageUrl.substring(6);
        }
        return imageUrl;
    }
}
